#include<iostream>

/*
  出现的不同字符个数
  统计
 */
#include <iostream>
#include <cstring>
#include <algorithm>
#include <unordered_set>

using namespace std;

typedef long long LL;

int n;
string str;
int pre[26];

int main()
{
	cin >> str;
	n = str.size();//获取长度
	str = ' ' + str;//前面补空位
	
	LL res = 0; // 定义数
	for (int i = 1; i <= n; ++ i )//从一到n
	{
		res += (LL)(i - pre[str[i] - 'a']) * (n - i + 1); //i - 对应字母的位置 乘上 n-i+1
		pre[str[i] - 'a'] = i;
	}
	
	cout << res << endl;
	
	return 0;
}
